
import Ajax from "../utils/require"
/* 发送ajax请求获取商品列表数据  配置请求地址和请求方式 */
export const getCategoryList = () => {
    // http://39.98.123.211/api/product/getBaseCategoryList
    return Ajax({
        /* 请求地址 api/product/getBaseCategoryList */
        url: "product/getBaseCategoryList",
        /* 请求类型 */
        method: "GET"
    })
}

import Mock from "../utils/mockRequire"
/* 获取banner数据 */
export const getBannerList = () => {
    return Mock({
        url: "/banner",
        method: "GET"
    })
}
/* 获取floor数据 */
export const getFloorList = () => {
    return Mock({
        url: "/floor",
        method: "GET"
    })
}
/* 获取GoodsListInfo数据 设置请求地址和请求方式 */
export const getGoodsListInfo = (searchParams) => {
    return Ajax({
        /* /list 斜杠可以省略 list */
        url: "list",
        method: "POST",
        /* 请求参数 */
        data: searchParams
    })
}
/* .then  .catch 测试 */
// const result  = getGoodsListInfo({})
// result.then(value => {
//     console.log("成功！");
//     console.log(value);
// }).catch(error => {
//     console.log("失败！");
//     console.log(error);
// }) 
/* async await 测试 */
// async function test() {
//     const result = await getGoodsListInfo({})
//     console.log(result);
// }
// test()

/* 获取商品详情信息 goodsDetail */
export const getGoodsDetail = (skuId) => {
    return Ajax({
        url: "/item/" + skuId, //get请求参数直接拼接
        method: "GET"
    })
}

/*  添加购物车成功失败页面 （修改购物车商品数量）*/
/* 
    请求地址 api/cart/addToCart/{ skuId }/{ skuNum }
    请求方式 post    
*/
export const getAddToCart = ({ skuId, skuNum }) => {
    return Ajax({
        url: `/cart/addToCart/${skuId}/${skuNum}`,
        method: "POST"
    })
}

/* 
    获取购物车列表  请求地址 /api/cart/cartList 请求方式 get
*/
export const getCartList = () => {
    return Ajax({
        url: "/cart/cartList",
        method: "GET"
    })
}

/*
    删除购物车单个商品
        请求地址 /api/cart/deleteCart/{skuId}
        请求方式 delete  请求参数 skuId
*/
export const getDeleteOneCart = (skuId) => {
    return Ajax({
        url: `cart/deleteCart/${skuId}`,
        method: "DELETE"
    })
}

/* 
    修改单个商品的选中状态
     请求地址和参数/cart/checkCart/{skuID}/{isChecked} 请求方式GET
*/
export const getChangeOneChecked = ({ skuID, isChecked }) => {
    return Ajax({
        url: `/cart/checkCart/${skuID}/${isChecked}`,
        method: "GET"
    })
}

/* 
全选反选请求 批量选中
  请求地址  /api/cart/batchCheckCart/{isChecked}  请求方式post
  请求参数 
        isChecked(字符串) 要修改的状态   1代表选中  0代表未选中 (请求头参数url)
        skuIdList(数组)  商品id集合    (请求体参数 data)
*/
export const getChangeAllChecked = ({ isChecked, skuIdList }) => {
    return Ajax({
        url: `/cart/batchCheckCart/${isChecked}`,
        method: "POST",
        data: skuIdList
    })
}
/*
    批量删除购物车选中商品 
     请求地址 /api/cart/batchDeleteCart 
     请求方式 delete
     请求参数：skuIdList  数组  代表修改的商品id列表     请求体参数
*/
export const getDeleteAllCart = (skuIdList) => {
    return Ajax({
        url: "/cart/batchDeleteCart",
        method: "DELETE",
        data: skuIdList
    })
}
/* 
    获取注册手机验证码
     请求地址/api/user/passport/sendCode/{phone} 
     请求方式 get  请求参数 phone
*/
export const getCode = (phone) => {
    return Ajax({
        url: `/user/passport/sendCode/${phone}`,
        method: "GET"
    })
}
/* 
    完成用户注册
    请求地址: /api/user/passport/register 
    请求参数  请求方式 POST  无返回数据
*/
export const getRegister = (userInfo) => {
    return Ajax({
        url: "/user/passport/register",
        method: "POST",
        data: userInfo
    })
}

/* 登录
    /api/user/passport/login  POST 参数 phone手机号 password 密码
*/
export const getLogin = (userInfo) => {
    return Ajax({
        url: "/user/passport/login",
        method: "POST",
        data: userInfo
    })
}

/* 根据token来获取用户信息 */
// 请求地址/api/user/passport/auth/getUserInfo  请求方式get
export const getUserInfo = () => {
    return Ajax({
        url: "/user/passport/auth/getUserInfo",
        method: "GET"
    })
}

/* 退出登录请求 */
// /api/user/passport/logout get   
export const getLogout = () => {
    return Ajax({
        url: "/user/passport/logout",
        method: "GET"
    })
}

/* 获取用户收货地址信息 
    /api/user/userAddress/auth/findUserAddressList get
*/
export const getUserAddressList = () => {
    return Ajax({
        url: "/user/userAddress/auth/findUserAddressList",
        method: "GET"
    })
}
/* 获取交易页信息(商品清单)
    /api/order/auth/trade  get
*/
export const getTradeInfo = () => {
    return Ajax({
        url: "/order/auth/trade",
        method: "GET"
    })
}
/* 提交订单
 /api/order/auth/submitOrder?tradeNo={tradeNo} PSOT
 请求体参数 traderNo consignee consigneeTel 
 deliveryAddress paymentWay orderComment orderDetailList
 */
export const getSubmitOrder = ({ tradeNo, tradeInfos }) => {
    return Ajax({
        url: `/order/auth/submitOrder?tradeNo=${tradeNo}`,
        method: "POST",
        data: tradeInfos
    })
}

/* 根据订单编号 orderId 获取订单支付信息 
   /api/payment/weixin/createNative/{orderId}  get
*/
export const getPayInfo = (orderId) => {
    return Ajax({
        url: `/payment/weixin/createNative/${orderId}`,
        method: 'GET'
    })
}
/* 根据订单编号获取orderId 支付状态
/api/payment/weixin/queryPayStatus/{orderId} get
*/
export const getPayStatus = (orderId) => {
    return Ajax({
        url: `/payment/weixin/queryPayStatus/${orderId}`,
        method: "GET"
    })
}
